آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic
تهیه و آموزش نرم افزار دارک بیسیک
 
 
جمعه 6 ارديبهشت 1392برچسب:, :: 1:23 ::  نويسنده : ابوالفضل

 دستور TURN CAMERA LEFT و دستور TURN CAMERA RIGHT

دستور TURN CAMERA LEFT دوربین پیش فرض را حول محور Y خود ، به سمت چپ و دستورTURN CAMERA RIGHT دوربین پیش فرض را حول محور Y خود ، به سمت راست می چرخاند . مانند دستورالعمل های زیر :
 
TURN CAMERA LEFT AngleValue
TURN CAMERA RIGHT AngleValue
 
 
طبق این دستورالعمل ها به جای AngleValue مقدار چرخش دوربین ، ( بر حسب درجه ) را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If LeftKey()=1 Then Turn Camera Left 1
   If RightKey()=1 Then Turn Camera Right 1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت چپ را فشار دهیم ، دوربین پیش فرض به چپ و اگر دکمه ی جهت راست را فشار دهیم ، دوربین پیش فرض به راست گردش خواهد کرد .
 
با اضافه کردن شماره ی دوربین جدید می توانیم دوربین جدید را نیز حول محور Y خود به سمت چپ و راست ، بچرخانیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 2 : Set Current Camera 2 : Rotate Camera 2,0,0,0
Do
   If LeftKey()=1 Then Turn Camera Left 2,1
   If RightKey()=1 Then Turn Camera Right 2,1
Loop
 
دستور TURN OBJECT LEFT و دستور TURN OBJECT RIGHT
دستور TURN OBJECT LEFT شیء سه بعدی ( ساده یا پیچیده ) را حول محور Y خود ، به سمت چپ
و دستور TURN OBJECT RIGHT شیء سه بعدی ( ساده یا پیچیده ) را حول محور Y خود ، به سمت راست می چرخاند . مانند دستورالعمل های زیر :
 
TURN OBJECT LEFT ObjectNumber,Value
TURN OBJECT RIGHT ObjectNumber,Value
 
طبق این دستورالعمل ها به جای ObjectNumber نام شیء و به جای Value مقدار چرخش شیء را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If LeftKey()=1 Then Turn Object Left 20,1
   If RightKey()=1 Then Turn Object Right 20,1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت چپ را فشار دهیم ، جعبه به چپ و اگر دکمه ی جهت راست را فشار دهیم ، جعبه به راست گردش خواهد کرد .
 
دستور PITCH CAMERA UP و دستور PITCH CAMERA Down
دستور PITCH CAMERA UP دوربین پیش فرض را حول محور X خود ، به سمت بالا و دستورPITCH CAMERA DOWN دوربین پیش فرض را حول محور X خود ، به سمت پائین می چرخاند . مانند دستورالعمل های زیر :
 
PITCH CAMERA UP AngleValue
PITCH CAMERA DOWN AngleValue
 
طبق این دستورالعمل ها به جای AngleValue مقدار چرخش دوربین ، ( بر حسب درجه ) را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If UpKey()=1 Then Pitch Camera Up 1
   If DownKey()=1 Then Pitch Camera Down 1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت بالا را فشار دهیم ، دوربین پیش فرض به بالا و اگر دکمه ی جهت پائین را فشار دهیم ، دوربین پیش فرض به پائین گردش خواهد کرد .
 
با اضافه کردن شماره ی دوربین جدید می توانیم دوربین جدید را نیز حول محور X خود به سمت بالا و پائین ، بچرخانیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 2 : Set Current Camera 2 : Rotate Camera 2,0,0,0
Do
   If UpKey()=1 Then Pitch Camera Up 2,1
   If DownKey()=1 Then Pitch Camera Down 2,1
Loop
 
دستور PITCH OBJECT UP و دستور PITCH OBJECT DOWN
دستور PITCH OBJECT UP شیء سه بعدی ( ساده یا پیچیده ) را حول محور X خود ، به سمت بالا و دستورPITCH OBJECT DOWN شیء سه بعدی ( ساده یا پیچیده ) را حول محور X خود ، به سمت پائین می چرخاند . مانند دستورالعمل های زیر :
 
PITCH OBJECT UP Value
PITCH OBJECT DOWN Value
 
 
طبق این دستورالعمل ها به جای Value مقدار چرخش شیء ، را با یک عدد مشخص می کنیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If UpKey()=1 Then Pitch Object Up 20,1
   If DownKey()=1 Then Pitch Object Down 20,1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت بالا را فشار دهیم ، شیء به بالا و اگر دکمه ی جهت پائین را فشار دهیم ، شیء به پائین گردش خواهد کرد .
 
دستور ROLL CAMERA LEFT و دستور ROLL CAMERA RIGHT
دستور ROLL CAMERA LEFT دوربین پیش فرض را حول محور Z خود ، به سمت چپ و دستورROLL CAMERA RIGHT دوربین پیش فرض را حول محور Z خود ، به سمت راست می چرخاند . مانند دستورالعمل های زیر :
 
ROOL CAMERA LEFT AngleValue
ROOL CAMERA RIGHT AngleValue
 
طبق این دستورالعمل ها به جای AngleValue مقدار چرخش دوربین ، ( بر حسب درجه ) را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If LeftKey()=1 Then Roll Camera Left 1
   If RightKey()=1 Then Roll Camera Right 1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت چپ را فشار دهیم ، دوربین پیش فرض به چپ و اگر دکمه ی جهت راست را فشار دهیم ، دوربین پیش فرض به راست چرخش خواهد کرد .
 
با اضافه کردن شماره ی دوربین جدید می توانیم دوربین جدید را نیز حول محور X خود به سمت بالا و پائین ، بچرخانیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 2 : Set Current Camera 2 : Rotate Camera 2,0,0,0
Do
   If LeftKey()=1 Then Roll Camera Left 2,1
   If RightKey()=1 Then Roll Camera Right 2,1
Loop
 
دستور ROLL OBJECT LEFT و دستور ROLL OBJECT RIGHT
دستور ROLL OBJECT LEFT شیء را حول محور Z خود ، به سمت چپ و دستورROLL OBJECT RIGHT شیء را حول محور Z خود ، به سمت راست می چرخاند . مانند دستورالعمل های زیر :
 
ROOL OBJECT LEFT ObjectNumber,Value
ROOL OBJECT RIGHT ObjectNumber,Value
 
طبق این دستورالعمل ها به جای ObjectNumber شماره ی شیء سه بعدی و به جای Value مقدار چرخش شیء ، را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If LeftKey()=1 Then Roll Object Left 20,1
   If RightKey()=1 Then Roll Object Right 20,1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت چپ را فشار دهیم ، شیء به چپ و اگر دکمه ی جهت راست را فشار دهیم ، شیء به راست چرخش خواهد کرد .
 
دستور CONTROL CAMERA USING ARROWKEYS
این دستور کنترل حرکت دوربین را به دکمه های جهت بالا و پایین و چپ و راست می سپارد . مانند دستورالعمل زیر :
 
CONTROL CAMERA USING ARROWKEYS CameraNumber,MoveSpeed,TurnSpeed
 
طبق این دستورالعمل به جای CameraNumber شماره ی دوربین و به جای MoveSpeed سرعت حرکت دوربین به جلو و عقب و به جای TurnSpeed سرعت چرخش دوربین به راست و چپ را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 1 : Rotate Camera 1,0,0,0 : Set Current Camera 1
Do
CONTROL CAMERA USING ARROWKEYS 1,1,1
Loop
 
اگر بخواهیم دوربین پیش فرض را با دستورالعمل بالا تحت کنترل درآوریم ، به جای CameraNumber عدد صفر را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
CONTROL CAMERA USING ARROWKEYS 0,0.5,0.1
Loop
 
دستور SET CAMERA RANGE
با این دستور می توانیم شعاعی را که دوربین پیش فرض تا آن مسافت ، اشیاء را نمایش می دهد ، از نو تنظیم کنیم . مانند دستورالعمل زیر :
 
SET CAMERA RANGE NearValue,FarValue
 
طبق این دستورالعمل ، دوربین پیش فرض ، اشیاء موجود بین فاصله ی NearValue تا FarValue از خود را نشان خواهد داد . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
FarValue = 75
NearValue = 10
Do
If UpKey() Then Inc FarValue
If DownKey() Then Dec FarValue
If FarValue > 150 Then FarValue = 150
If FarValue < 20 Then FarValue = 20
(Text 10,10,"Far = "+Str$(FarValue
SET CAMERA RANGE NearValue,FarValue
Loop
 
با اجرای این مثال با زدن دکمه های جهت بالا و پائین ، مسافت نمایش داده شده در دوربین پیش فرض تغییر خواهد کرد .
 
با اضافه کردن شماره ی دوربین جدید می توانیم مسافت نمایش داده شده توسط دوربین جدید را نیز از نو تنظیم کنیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 2 : Set Current Camera 2 : Rotate Camera 2,0,0,0
FarValue = 75
NearValue = 10
Do
If UpKey()=1 Then Inc FarValue
If DownKey()=1 Then Dec FarValue
If FarValue > 150 Then FarValue = 150
If FarValue < 20 Then FarValue = 20
(Text 10,10,"Far = "+Str$(FarValue
SET CAMERA RANGE 2,NearValue,FarValue
Loop
 
دستور SET CAMERA TO FOLLOW
با این دستور ، دوربین پیش فرض بطور خودکار به دنبال نقطه ی مورد نظر خواهد رفت . همانند دستورالعمل زیر :
 
SET CAMERA TO FOLLOW X,Y,Z,Angle,Distance,Height,Smooth,Collision
 
طبق این دستورالعمل به جای X و Y و Z مختصات نقطه ی مورد نظر و به جای Angle زاویه ی دوربین نسبت به نقطه حول محور Y آن نقطه و به جای Distance فاصله ی دوربین تا نقطه و به جای Height ارتفاع دوربین تا نقطه و به جای Smooth شدت حرکت دوربین به سمت نقطه و به جای Collision رفتار دوربین نسبت به برخورد با اجسام سخت را قرار می دهیم ( 0 یا 1 ) . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic3d\Marble.Bmp",1
make object box 1,1400,10,1400 : position object 1,0,-5,0
make Object box 2,10,10,10 : position object 2,50,10,50
For I = 1 To 2 : Texture Object I,1 : Next I
Do
(xCam#=object position x(2):yCam#=object position y(2
(zCam#=object position z(2):aCam#=object Angle y(2
hCam#=30:dCam#=50:sCam#=60
SET CAMERA TO FOLLOW xCam#,yCam#,zCam#,aCam#,dCam#,hCam#,sCam#,0
if upkey()=1 Then move object 2,1
if downkey()=1
   move object 2,-1
EndIf
if leftkey()=1
   (yrotate object 2,WrapValue(object angle y(2)-1
EndIf
if rightkey()=1
(yrotate object 2,WrapValue(object angle y(2)+1
EndIf
Loop
 
با اجرای این مثال شیء جعبه توسط دکمه های جهت بالا ، جهت پائین ، جهت چپ و جهت راست حرکت خواهد کرد . و دوربین پیش فرض به دنبال شیء حرکت می کند . با این کار نیازی به تعیین موقعیت مکانی دوربین نمی باشد . چون این دستور بطور خودکار این کار را انجام می دهد .
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدید را هم به دنبال شیء مورد نظر حرکت دهیم . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic3d\Marble.Bmp",1
Make Camera 4 : Set Current Camera 4
make object box 1,1400,10,1400 : position object 1,0,-5,0
make Object box 2,10,10,10 : position object 2,50,10,50
For I = 1 To 2 : Texture Object I,1 : Next I
Do
(xCm#=object position x(2):yCm#=object position y(2
(zCm#=object position z(2):aCm#=object Angle y(2
hCm#=30:dCm#=50:sCm#=60
SET CAMERA TO FOLLOW 4,xCm#,yCm#,zCm#,aCm#,dCm#,hCm#,sCm#,0
if upkey()=1 Then move object 2,1
if downkey()=1 Then move object 2,-1
if leftkey()=1
   (yrotate object 2,WrapValue(object angle y(2)-1
EndIf
if rightkey()=1
   (yrotate object 2,WrapValue(object angle y(2)+1
EndIf
Loop
 
دستور GHOST OBJECT ON
این دستور شیء سه بعدی را نیمه شفاف می کند . مانند دستورالعمل زیر :
 
GHOST OBJECT ON ObjectNumber
 
طبق این دستورالعمل به جای ObjectNumber شماره ی شیء سه بعدی مورد نظر را قرار می دهیم . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic3d\Marble.Bmp",1
Make Object Box 10,100,10,100 : Position Object 10,0,-5,0
Make Object Sphere 15,10
Position Camera 0,20,-60
Texture Object 10,1
Sync On : Sync Rate 30
Ghost Object On 15
Do
For MyAngle = 0 To 359 Step 2
Position Object 15,Sin(MyAngle)*50,10,Cos(MyAngle)*50
(Point Camera Object Position X(15),Object Position Y(15),Object Position Z(15
Sync
Next MyAngle
Loop
 
دستور GHOST OBJECT OFF
اگر با استفاده از دستور قبل ( GHOST OBJECT ON ) شیء سه بعدی شفاف شده باشد ، با این دستور شیء سه بعدی به حالت اولش برمی گردد . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic3d\Marble.Bmp",1
Make Object Box 10,100,10,100 : Position Object 10,0,-5,0
Make Object Sphere 15,10
Position Camera 0,20,-60
Texture Object 10,1
Sync On : Sync Rate 30
Ghost Object On 15
Do
For MyAngle = 0 To 359 Step 2
Position Object 15,Sin(MyAngle)*50,10,Cos(MyAngle)*50
(Point Camera Object Position X(15) , Object Position Y(15) , Object Position Z(15
Sync
If Inkey$()="f" Or Inkey$()="F" Then Ghost Object Off 15
If Inkey$()="n" Or Inkey$()="N" Then Ghost Object On 15
Next MyAngle
Loop
 
با اجرای این مثال با زدن دکمه ی N شیء به حالت نیمه شفاف و با زدن دکمه ی F شیء به حالت عادی برمی گردد.
 


صفحه قبل 1 صفحه بعد

درباره وبلاگ


به وبلاگ من خوش آمدید
آخرین مطالب
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی 3D ( سه بعدی ) به زبان Basic با دارک بیسیک D و آدرس darkbasic.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


آمار وب سایت:  

بازدید امروز : 2
بازدید دیروز : 0
بازدید هفته : 2
بازدید ماه : 244
بازدید کل : 99614
تعداد مطالب : 24
تعداد نظرات : 3
تعداد آنلاین : 1